package domain

type Channel struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
	Type string `json:"type"`
	// 代表自己
	Self   Member
	Avatar string
	// 先不加这个属性，有需求再说
	// Users     []int64
}

func (c Channel) GetName() string {
	note := c.Self.Note
	if c.Self.Note != "" {
		return note
	}
	return c.Name
}

type Member struct {
	ID                int64  `json:"id"`
	NicknameInChannel string `json:"nicknameInChannel"`
	Note              string `json:"note"`
	Avatar            string `json:"avatar"`
	// 用户对channel的自定义优先级（置顶/非置顶）
	Priority int `json:"priority"`
	// 是否免打扰，true免打扰，false非免打扰
	Mute     bool  `json:"mute"`
	JoinTime int64 `json:"joinTime"`
}

const (
	GroupChannel    = "Group"
	OneToOneChannel = "OneToOne"
)
